#include <vector>
#include <set>
#include <iostream>
#include <unordered_map>
#include <numeric>

using namespace std;

void rotate(vector<vector<int>>& matrix){
    // 寻找矩阵旋转的规律，顺时针90度=转制+镜像翻转
    if(matrix.size() == 1){ return; }
    for(int i = 0; i < matrix.size(); i++){
        for(int j = 0; j < i; j++){
            swap(matrix[i][j], matrix[j][i]);
        }
    }
    for(int i = 0; i < matrix.size(); i++){
        for(int j = 0; j < matrix.size()/2; j++){
            swap(matrix[i][j], matrix[i][matrix.size()-j-1]);
        }
    }
}

int main(){
    vector<vector<int>> mat = { {5,1,9,11},{2,4,8,10},{13,3,6,7},{15,14,12,16} };
    rotate(mat);
    // for(int i = 0; i < ret.size(); i++){
    //     cout << ret[i] << endl;
    // }
    return 0;
}